package cn.fbs.dao.dm;

import cn.fbs.model.TVideoInfo;
import cn.fbs.param.ListParamsVo;
import cn.fbs.param.SearchParam;
import cn.fbs.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DMVideoInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(TVideoInfo record);

    int insertSelective(TVideoInfo record);

    TVideoInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(TVideoInfo record);

    int updateByPrimaryKeyWithBLOBs(TVideoInfo record);

    int updateByPrimaryKey(TVideoInfo record);

    List<TVideoInfoVo> selectProductByTargetType(Long targetType);


    List<TVideoInfoVo> selectProductByTargetTypes(@Param("params") ListParamsVo params,
                                                  @Param("targetTypes") String targetTypes);
    List<TVideoInfoVo> selectProductByTargetTypes2(@Param("params") ListParamsVo params,
                                                  @Param("targetTypes") String targetTypes);

    void deleteByIds(@Param("idsStr") String idsStr);

    List<TVideoInfoVo> searchVideoInfoVo(@Param("searchParam") SearchParam searchParam);

    List<TVideoInfoVo> selectVideoByIds(@Param("searchParam") SearchParam searchParam);

    TVideoItemVo getVideoItem(Integer id);

    VideoEvaluateVo getVideoEvaluate(Long id);

    List<Object> selectByIdsStr(@Param("idsStr") String idsStr);

    List<TVideoInfo> queryVideoByParam(QueryVideoVo videoVo);

    Object SingleInfo(@Param("id") Long id);

    void insertVideo(TVideoInfo videoInfo);

    Integer countByName(String fileName);

    List<ShareVideoVo> getShareVideoData(@Param("idsStr") String idsStr);

    int selectCountBytargetXh(@Param("targetXh") String targetXh,@Param("id") Long id);

    List<TVideoInfo> getAllResultData();

    List<TVideoInfo> likeDataByNm(@Param("likeStr")String likeStr);

    List<TVideoInfo> getDataByNm(@Param("idsStr")String idsStr);

    TVideoInfo getVideoByFileUrl(@Param("fileUrl") String fileUrl);

}